查看原文
其他

独家深度 | 为什么Arm的AI处理器姗姗来迟?

包永刚 雷锋网 2019-12-12

▲点击上方 雷锋网 关注


Arm推出了一系列全新的IP,包括NPU、GPU以及DPU,NPU尤为值得关注。

 文 | 包永刚 

上周,Arm推出了一系列全新的IP,包括NPU、GPU以及DPU。NPU尤为值得关注,不仅因为NPU系列同时发布了N57和N37两款新品,还因为Arm的ML处理器(Machine Learning Processor)系列名称Ethos也正式公布。全新AI系列产品的亮相,意味着Arm的AI策略更加明晰。

不过,2017年开始,手机市场就开启了AI处理器的竞争,华为、苹果、三星、联发科、高通都相继推出集成NPU的手机处理器。为什么Arm直到2019年才推出NPU?Arm的NPU能否获得成功?

首款NPU发布时间略有推后


实际上,Arm原计划在2019年第一季度发布首款ML处理器。之所以选择这个时间点,Arm ML事业群商业与营销副总裁Dennis Laudick去年11月接受雷锋网专访时表示:“最近我们已经看到机器学习技术正在稳定和成熟,市场需求也正在不断增加,我们认为现在是进入市场的最佳时机。

不过,Arm首款ML处理器的发布时间是在今年5月,比计划略晚一些。Dennis上周再次接受雷锋网专访时表示,发布推迟有很多原因,产品开发是主要的问题。ML处理器开发的过程中面临很多挑战,其中一个很大的挑战就是数据移动处理不好就会消耗大量的电,另一个大的挑战就是如何权衡效率和灵活性。

Arm ML事业群商业与营销副总裁Dennis Laudick

虽然产品的开发影响了首款ML处理器发布的时间,但Arm并没有在首款ML产品发布时就公布其系列名称和型号。而是直到面向主流市场,提供性能、成本以及功耗均衡的N57和对成本极端敏感的N37发布,Arm才正式公布ML系列处理器的的名称——Ethos(中文可翻译为精神)。此时,外界也才清楚5月发布的首款ML处理器型号为Ethos-N77,定位高端,面向高性能需求的市场。

这是为什么?Dennis解释称,其实有很多原因,Arm内部也在重新思考命名系统,如果推出第一款机器学习产品就立刻发布新的产品系列名称,可能大家会把对这个系列品牌的印象和认知捆绑在这一款产品身上,我们不希望造成这样的效果。我们希望大家看到Ethos这个产品名下面的产品系列是广泛而丰富的,这就是为什么要等到有针对三个不同市场,三个不同档次的产品都出来了,才正式的对外公布产品系列的名称的主要原因。

但更为关键的是,市场上已经有众多竞争者,此时推出Ethos还有竞争力吗?Dennis表示,Arm的成功一直以来都得益于生态系统,对于NPU来说挑战并不是能够做出自己的NPU,而是NPU在市场上是不是真的好用。我们已经听到合作伙伴反馈说,希望在硬件上能够标准化,他们不想支持15种不同的硬件,所以,他们期待有一个标准化的软件平台能够支持。

Ethos解决两大技术挑战的独到方法


因此,如果Arm想要获得市场的认可,除了需要解决硬件和软件上的挑战,让产品具有足够的吸引力之外,生态对于Ethos成功也非常重要。

数据管理的三个定制化技术

首先明确,Arm Ethos-N77、N57和N37有相同的核心架构,提供1-4TOP/s的算力,并且,三款NPU都独立于制程节点的技术之外,可以选择使用不同的制程。

Arm NPU核心架构有什么独特性?Dennis表示,首先还是数据方面的优势。在解决数据搬运问题时,我们有三大特性,第一,压缩的定制化,不同数据类型需要不同的压缩方法,所以我们专门针对机器学习类型的数据做出了定制化的压缩技术。第二,尽量把数据承载最小化,这非常类似内存的缓存,我们专门把机器学习、数据处理做了重新排列,确保当把一个数据载入的时候就尽量把需要访问这个数据的工作都完成了,尽量不承载这个数据。第三,我们还采用了其他的技术手段,比如专门开发了独一无二的剪枝技术,正常的剪枝技术存在准确率的问题,我们特殊开发的剪枝技术提高了效率,当然还使用到了许多的稀疏技术。

另外,就是效率和灵活性的权衡,让硬件本身能够有两到三年的生命周期。

以具体的产品看,Ethos-N57与Ethos-N37的设计理念包括一些基本原则,例如:针对Int8与Int16数据类型的支持性进行优化;先进的数据管理技术,以减少数据的移动与相关的耗电;通过Winograd技术的落地,使性能比其他NPU提升超过200%。

AI处理器支持的数据类型非常关键,随着算法和模型的逐步成熟,边缘端的AI芯片很多都只支持Int8的数据类型,但Arm还选择支持Int16。对此,Dennis表示,机器学习支持Int8数据类型基本就足够了,我们之所以选择也支持INT16是为了更好的应对涉及到图像处理的工作,因为通常来说像素是10到12位,牵扯到颜色,支持INT16就省略了很多的数据转换的工作,非常适合图像处理。

但为何又没有支持更高精度的FP16?“因为FP16对带宽的需求相当高,这就意味着处理器的整个处理量和功耗就会提升。但消耗这么多的功耗和带宽,准确率与INT8比较却没有多少提升。” Dennis如此解释。

虽然机器学习让处理器的设计面临着新的挑战,不过Dennis认为机器学习本身并没有改变最为根本的处理器的设计原则,只不过针对机器学习的处理器设计的重点可能和通用处理器有所不同。Arm一直强调的数据管理是我们的重点,还有并行计算、矩阵乘法都是我们关注的重点。

软硬结合的权衡

硬件的独特性之外,软件也同样重要,特别是在AI时代,软硬一体化的重要性更加突显。要实现理想的软硬结合,Dennis认为有两大挑战,一个还是权衡的问题,也就是多少工作让硬件完成以及多少工作给软件完成。另一个是ML框架的支持,因为这个领域还很新,还会出现不同的框架。

Arm方面,Dennis表示,我们研发ML硬件的时候,我们首先考虑的是软件需要什么,然后再设计硬件,其实是软件需求推动了硬件设计。Arm花了很多精力在底层的软件方面,机器学习的工程师团队有另外一半以上都是做软件的,我们已经做了三年,但仍然还有很大的改善空间。

除了软硬一体化提升AI性能,在先进半导体制程越来越昂贵的背景下,通过异构系统提升处理器性能也受到了很大的关注。但异构的系统给软件带来的更大的挑战,此时,到底是用统一的软件API去分配硬件资源实现易用性,还是对每个硬件单独编程让系统更加高效?

Arm采用的在硬件之上有特别优化的Compute Library,它会把底层的硬件和驱动进行充分优化,根据算子的不同需求驱动硬件,可以提升几倍到十几倍的效率。再上一层是Arm nn,可以将TensorFlow、Caffe等神经网络框架转换成Compute Library可以执行的任务,让开发者不用关心底层的硬件,只需要使用标准架构进行开发就可以。

因此,Dennis表示Arm采用的方式是更加底层的方式,软件直接与CPU、GPU或NPU进行沟通,做最佳匹配。这其中最大的挑战还是平衡的问题,软件的架构要做到根据具体的应用,分配专用和通用的处理器,这个百分比还可以不断调整,这是最难做的。

在框架的支持上,Arm是希望其硬件可以让开发者不需要去特别选择需要用哪一个框架。

生态才是NPU成功的关键


NPU软硬件的独特性和优势只有获得市场的认可才能成功,那么首先得满足不同场景的算力需求。Ethos系列现有的三款ML处理器性能从1-4 TOP/s不等,但是即便是在边缘端,也会有更高的性能需求,更不用说高性能计算的场景。

Dennis表示,针对高性能的场景,Arm可以提供的ML产品是一个结构单元,可以把它组装起来增加处理器的结构,如果把多个能够提供4TOP/S的单元按照需求组装起来就能够满足更高性能的需求。

但是,随着系统的复杂性增加,计算单元的增加并不意味着一直能够带来线性的性能提升。Arm如何应对?Dennis表示,这种组装确实有其局限性,到达某个性能后可能性能的提升就消失了,但Arm在GPU和CPU多处理器架构上有很好的架构设计,能够尽量实现比较长的线性性能提升。

“这也是我们为什么强调Ethos系列将是一个非常长和非常广的产品线,我们会去延展这个产品系列,找到不同的做机器学习的途径。”Dennis进一步表示。

前面已经提到Arm成功的关键是生态,而拥有多款的专用和通用芯片也是Arm在AI和IoT时代的优势,与NPU同时发布的还有采用最新Valhall 架构的Mali-G57,以及Arm单位面积效率最高的Mali-D37。

Dennis依旧认为未来市场需要的是通用加专用芯片,并且适用范围更广。他表示:“我们有很多机器学习的应用无需特别高的性能,CPU完全可以满足。而且Arm的CPU性能不断的提升,现在性能累计提升了400倍。同时,像Ethos这样的专用芯片系列也可以满足更加多元化的需求。”

不仅如此,Arm还开源了Arm NN,可以与第三方可配置的IP进行连接,这也能够适应更多应用场景。

为应对AIoT时代更激烈的竞争,特别是RISC-V的竞争,我们也看到Arm在本月初宣布推出全新的功能 Arm Custom instructions,允许客户在特定的 CPU 内核中加入自定义指令功能,能够加速特定的用例、嵌入式和物联网应用程序。

Dennis表示,我们会认真的看待RISC-V在市场上的进展和动作,就像我们认真看待其他架构一样。Arm的优势在于我们能够提供最全面的、拥有灵活性、普遍性的解决方案和产品,与此同时,我们还拥有强大丰富的生态,能够更好的满足市场的需求。

雷锋网小结


对于Arm而言,AI和IoT市场一定都不能错过,对于手机AI市场,作为提供通用IP的Arm显然不适合在AI算法迅速迭代的两年前就推出一款NPU产品,这将无法保证NPU对于今天的AI算法依旧高效。从这一角度看,Arm选择在2019年才推出NPU也可以理解,并且Arm此时推出的NPU也有望在一定程度上解决开发者需要适配多种NPU硬件的苦恼。

从技术的角度看,数据的存取带来的高能耗以及如何平衡灵活性和效率是所有AI处理器设计者都需要面对的问题,Arm的优势在于其丰富的架构设计经验,以及一直以来的软件以及生态的优势,用其独特的方式解决了面对的挑战。

当然,Arm NPU的推出,很重要的目标市场除了手机还有IoT。只是,在IoT市场,Arm应该更加认真的看待RISC-V这个竞争者。

往期推荐


▎小米如何挖到语音大牛 Daniel Povey?

▎数字孪生技术是如何『上位』的?

▎回宫!比特大陆吴忌寒强势回归,詹克团出局
▎5G套餐费曝光:128元起,最高598元;腾讯回应微信支付大规模异常;支付宝成国内第二大APP


你还在看吗?

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存